Methods for searching forensic data

ABSTRACT

In one aspect of the present invention, a software component for conducting digital forensic searches is described. The software component has a header; one or more search markup language programs, and a data features section. The software component, also referred to as a search pack, enables a first entity, such as a federal investigation agency, to share its suspect and sensitive data with a second entity, such as another investigative agency, in a manner that allows the second agency to utilize the suspect data while not revealing the actual content of the sensitive data to the second agency. The second agency can perform comparisons and other operations on the sensitive data without having to know the actual content of the data. The search pack allows an investigative agency to define an investigative strategy for a particular case via the search markup language programs and by the data features that it includes in the search pack. Thus, by sharing search packs among agencies, an agency can share or inform others of that agency&#39;s theory of the case and investigative goal. Search packs can also be updated automatically as new information is learned about a particular case. A search pack is updated is determined by the agency that created it and manages it.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. §119 to U.S.Provisional Application 60/728,208, titled “Systems and Methods forEnterprise-Wide Forensic Data Sharing and Management” filed by Oct. 19,2005 and is related to concurrently filed U.S. Utility PatentApplication titled “Systems and Methods for Enterprise-WideIdentification Data Sharing and Management”, assigned to AdvancedDigital Forensics, Inc. Both applications are incorporated herein forall purposes.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to computer softwareapplications for data management. Specifically, it relates to systemsand methods of digital data identification and the storage, management,and processing of digital evidence in computer systems.

2. Introduction

An increasing number of criminal and terrorist acts and preparationsleading to such acts are leaving behind evidence in digital formatssometimes referred to as a “digital fingerprint”. The field ofcollecting and analyzing these types of data is called digital dataidentification. These digital formats vary widely and include typicalcomputer files, digital videos, e-mail, instant messages, phone records,and so on. They are routinely gathered from seized hard drives,“crawled” Internet data, mobile digital devices, digital cameras, andnumerous other digital sources that are growing steadily insophistication and capacity. When accurately and timely identified bylaw enforcement agencies, digital evidence can provide the invaluableproof that clinches a case.

The United States Federal Bureau of Investigation (FBI) has indicatedthat digital evidence has spread from a few types of investigations,such as hacking and child pornography, to virtually every investigativeclassification, including fraud, extortion, homicide, identity theft,and so on.

The amount of evidence that exists in digital form is growing rapidly.This growth is demonstrated by the following information which waspresented by the FBI at the 14th INTERPOL Forensic Science Symposium.The Computer Analysis Response Team (CART) is the FBI's computerforensic unit and is primarily responsible for conducting forensicexaminations of all types of digital hardware and media. For example,according to FBI CART, the number of FBI cases has tripled from 1999 to2003. This is the result of the increased presence of digital devices atcrime scenes combined with a heightened awareness of digital evidence byinvestigators.

While the number of cases increased threefold from 1999 to 2003, thevolume of data increased by forty-six times during the same period.Given the declining prices of digital storage media and thecorresponding increases in sales of storage devices, the volume ofdigital information that investigators must deal with is likely tocontinue its meteoric increase.

This tremendous increase in data presents a number of problems for lawenforcement. Traditionally, law enforcement seizes all storage media,creates a drive image or duplicates it, and then conducts theirexamination of the data on the drive image or duplicate copy to preservethe original evidence. A “drive image” is an exact replica of thecontents of a storage device, such as a hard disk stored on a secondstorage device, such as a network server or another hard disk. One ofthe first steps in the examination process is to recover latent datasuch as deleted files, hidden data and fragments from unallocated filespace. This process is called data recovery and requires processingevery byte of any given piece of media. If this methodology continues,the number of pieces of digital media with their increasing size willpush budgets, processing capability and physical storage space to theirlimits. Compounding these problems are legal requirements, for example,of providing a defendant in a criminal trial with a copy of the data andretaining the data for the length of the defendant's sentence.

The delay in identifying suspect data occasionally results in thedismissal of some criminal cases where the evidence is not beingproduced in time for prosecution. Present solutions are efficient fordata recovery, but still require manual review from examiners toidentify specific data needed to prove guilt or innocence. None of thesolutions today provide technologies or methodologies for identifyingconclusive digital evidence automatically. Conclusive digital evidenceis any digital evidence that can automatically either prove guilt e.g.images of known child pornography, or indicate probable guilt e.g.images of currency plates, driver's licenses, or terrorist trainingcamps that require authentication and/or further review to determinecriminal activity. In an effort to reduce the volume of digital filesfor review, seized digital evidence is processed to reduce the amount ofthis data. These processes are called “data reduction” by forensicexaminers.

A method currently used for data reduction involves performing a hashanalysis against digital evidence. A cryptographic one-way hash (or“hash” for short) is essentially a digital fingerprint: a very largenumber that uniquely identifies the content of a digital file. A hash isuniquely determined by the contents of a file. Therefore, two files withdifferent names but the exact same contents will produce the same hash.

The National Institute of Standards and Technology (NIST) produces a setof hash sets called the National Software Reference Library thatcontains hashes for approximately 7 million files as of 2004(www.nsrl.nist.gov).

Files in a hash set typically fall into one of two categories. Knownfiles are known to be “OK” and can typically be ignored, such as systemfiles such as win.exe, explore.exe, etc. Suspect files are suspiciousfiles that are flagged for further scrutiny; files that have beenidentified as illegal or inappropriate, such as hacking tools,encryption tools and so on.

A hash analysis automates the process of distinguishing between filesthat can be ignored while identifying the files known to be of possibleevidentiary value. Once the known files have been identified then thesefiles can be filtered. Filtering out the known files may reduce thenumber of files the investigator must evaluate.

Using hash systems to identify conclusive or known suspect files faceseveral challenges. They cannot be used to identify multimedia files(image, video, and sound) that have been altered, whether minimally orsubstantially. As a consequence an individual using these files tocommit crimes escape prosecution.

In addition some law enforcement and intelligence agencies maintaindisparate digital fingerprint hash sets, but no such agency currentlyhas a system to create, catalog, and maintain its suspect data files.Although agencies are aware of the known suspect data or files, they donot have a comprehensive management system to catalog and maintain thesedata.

Digital forensic analysis tools used today are standalone systems thatare not coordinated with systems used by the agency analysts andinformation technology (IT) staff. Agencies do not share information atan optimal level. This has become increasingly important since theterrorists attacks of Sep. 11, 2001, which created a strong demand forgreater information sharing between law enforcement agencies. A primaryreason this has not been achieved is that there are security risksassociated with sharing classified data.

It would be beneficial and desirable to integrate newer, advanced hashtechnologies to automate the detection and classification process forsuspect files and identify altered files. This would allow lawenforcement to focus on identifying conclusive data during the forensicprocess and addresses many of the problems facing digital forensicexaminations today. It would also be desirable to enable agencies tomanage and share key suspect files and to use a common language todefine an investigative strategy and data search.

SUMMARY OF THE INVENTION

In one aspect of the present invention, a software component forconducting digital forensic searches is described. The softwarecomponent has a header; one or more search markup language programs, anda data features section containing features of data. The softwarecomponent, also referred to as a search pack, enables a first entity,such as a federal investigation agency to share its suspect andsensitive data with a second entity, such as another investigativeagency in a manner that allows the second agency to utilize the suspectdata while not revealing the actual content of the sensitive data to thesecond agency. The second agency can perform comparisons and otheroperations on the sensitive data without having to know the actualcontent of the data. The search pack of the present invention allows aninvestigative agency to define an investigative strategy for aparticular case via the search markup language programs and by the datafeatures that it includes in the search pack. Thus, by sharing searchpacks among agencies, an agency can share or inform others of thatagency's theory of the case and investigative goal. Search packs canalso be updated automatically as new information is learned about aparticular case. However, how the search pack is updated is determinedby the agency that created it and manages it.

In one embodiment, a search pack also contains a data verificationsection that contains some form of actual data representations of thesensitive data, such as thumbnail images or series of images in case ofvideo, whereby a second agency, for example, can verify identificationof potential suspect data that have been previously identified. Inanother embodiment, the features data in the search pack cannot bedirectly modified by any party other than the party that created thesearch pack.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and otheradvantages and features of the invention can be obtained, a moreparticular description of the invention briefly described above will berendered by reference to specific embodiments thereof which areillustrated in the appended drawings. Understanding that these drawingsdepict only typical embodiments of the invention and are not thereforeto be considered to be limiting of its scope, the invention will bedescribed and explained with additional specificity and detail throughthe use of the accompanying drawings in which:

FIG. 1 is a block diagram showing the relationships among data sources,applications, and a platform in accordance with one embodiment of thepresent invention.

FIG. 2A is a block diagram showing in further detail digital forensicand data identification application 102 and its inputs and outputs inaccordance with one embodiment of the present invention.

FIG. 2B is a flow diagram showing an automatic data identificationprocess in accordance with one embodiment of the present invention.

FIG. 3 is a block diagram showing components of a search pack inaccordance with one embodiment of the present invention.

FIG. 4 is a block diagram showing in further detail a digital forensicand data identification platform and its inputs and outputs inaccordance with one embodiment of the present invention.

DETAILED DESCRIPTION OF THE PRESENT INVENTION

Additional features and advantages of the invention will be set forth inthe description which follows, and in part will be obvious from thedescription, or may be learned by practice of the invention. Thefeatures and advantages of the invention may be realized and obtained bymeans of the instruments and combinations particularly pointed out inthe appended claims. These and other features of the present inventionwill become more fully apparent from the following description andappended claims, or may be learned by the practice of the invention asset forth herein.

Various embodiments of the invention are discussed in detail below.While specific implementations are discussed, it should be understoodthat this is done for illustration purposes only. A person skilled inthe relevant art will recognize that other components and configurationsmay be used without parting from the spirit and scope of the invention.

The system in which the present invention is implemented includes aplatform and an application which are subjects of co-pending applicationentitled “Systems and Methods for Enterprise-Wide Identification DataSharing and Management” and incorporated herein for all purpose. Thepresent invention includes tools for searching and performing otheroperations on forensic data, referred to as search packs and searchmarkup language, SML. These inventions operate within digital forensicand data identification applications and platforms. Before describingthe concept and implementation details of search packs and SML, it ishelpful to describe the application and platform in which they operate.

The platform, application and their interfaces are shown in FIG. 1. In adescribed embodiment of the present invention, the platform 104 andapplication 102 are used in a law enforcement andintelligence/counter-intelligence environment by law enforcementagencies (federal, state and local), intelligence agencies, InternetService Providers (“ISP's”), portals, search engines, privateinvestigation, and security firms conducting criminal investigations andintelligence data management. Illustrations of the present invention andits implementation are in the described embodiment criminalinvestigation and intelligence gathering. In another embodiment undersimilar technology, but different implementations, the present inventionis used in corporate environments, public institutions, universities, orany other setting requiring an enterprise-wide solution for analysis ofdigital data by security experts involved in liability protection, andindividuals involved with protection of proprietary intellectualproperty. The multiple various raw data sources 106 can be from any ofthe aforementioned environments and contexts.

In the described embodiment, the present invention involves novelsoftware technology for digital forensics and data identification tohandle (1) the extraction of digital data; (2) the storage of relevantdigital data; (3) the analysis and identification of the digital data;(4) the management of the digital data; and (5) the cross-agency orcross-company sharing of digital data including images and videos.

In the present invention, the digital forensics and data identificationapplication 102 is capable of identifying conclusive digital data comingfrom various digital sources. Conclusive data are any informationdecisive in whether to take further action. The identification ofconclusive digital data is realized by comparing the input data withpre-established sets of relevant data and also by searching the inputdata for pre-defined patterns. The analysis is done automaticallywithout human intervention. The application is able to compare multipletypes of data, including text documents and multimedia files, with thepre-established sets. The application is also able to extractinformation from the input data in order to identify pre-definedpatterns. The pre-established sets of relevant data and pre-definedpatterns are encapsulated in search packs.

With respect to various data sources 106, primary physical devicestypically analyzed are hard drives, network attached storage devices,and storage area network devices. Primary data sources include filesystems, e-mail servers, databases, peer to peer network, or any othernetwork protocols etc. Other physical devices include USB keys, portablehand-held devices, cell phones, PDA's, digital cameras etc.

The data identification platform 104 of the present invention isdesigned to manage the search packs. Platform 104 enables the creationand update of search packs, maintains a repository of search packs,imports and exports search packs so they can be exchanged with otherplatforms, and consolidates findings after retrieving information fromthe data identification applications.

In a criminal investigation environment the data identificationapplication 102 in FIG. 1 can be used in the following ways: i) Directlyon the suspect computer where the computer is booted with theapplication distributed on a CD-ROM to bypass the native operatingsystem (which could have been compromised) and accesses directly thelocal hard drives; ii) From a single computer which has a suspect harddrive, suspect drive media, or drive image connected directly to it; oriii) From a network server which can access drives, or drive image,stored on network attached storage devices, or other equivalent storagedevices; and configured virtual drives, or drive image, available on aStorage Attached Network (SAN).

FIG. 2A is a block diagram showing in more detail digital forensic anddata identification application 102 in accordance with one embodiment ofthe present invention. One input to application 102 is raw data fromvarious data sources 106 such as a hard drive or drive image. These rawdata are input to a data extraction module 108 of application 102.

As shown in FIG. 1, one input to application 102 is one or more searchpacks 112 originating from platform 104. Search packs are discussed indetail with reference to FIG. 3. One component of a search pack is asearch markup language or “SML” program. A SML interpreter 110 processesthe extracted, unknown raw data according to the instructions in the SML112 contained in the search packs as shown in FIG. 3. This process mayinclude comparing the raw, unknown data against known data contained ina search pack. The output is one or more reports.

Application 102 can use multiple search packs 112 to perform dataidentification sequentially. Search packs do not have to come from aparticular agency, they can be provided by any agency. Thus, during aninvestigation the data identification is performed not only with theagency's search packs but for the agent, concurrently and seamlesslywith other agencies' search packs.

In the described embodiment application 102 generates a report detailingthe findings of the data analysis and data identification. The reportsand findings reference suspect files that triggered the match and a log.A report can be formatted in a manner most useful to the investigator orend user. Reports in their initial form are inadmissible in court asevidence. However, they can be verified by a qualified individual. Forexample, a chain of custody can be established and the report can beadmissible as evidence in a criminal case. Initially, digital data thatmay be presented as evidence in court can be protected for dataauthenticity and integrity.

The steps of an automatic data identification process of the presentinvention are shown in FIG. 2B. At step 202 data are extracted from rawdata sources 106. As described above, these sources can vary widely andinclude any storage medium that can hold digital data. This extractionis performed using techniques known to one of ordinary skill in thefield. At step 204 the application determines if there is any data to beextracted from any remaining data sources. If there is data left thatneeds to be identified, the process continues with step 206. If there isno data left, the process is complete.

Step 206 occurs for each search pack 112 in the application 102. Forexample, if there are ten search packs in an application, step 206 andall proceeding steps occur ten times concurrently. The concept andadvantages of search packs and the reasons why there would be multiplesearch packs are described below with respect to FIG. 3. At step 208,each search pack 112 invokes its search markup language programs(described below) and calls the identification modules in thoseprograms. This is performed in SML interpreter 110. At step 208, thefollowing identification processes take place for the automaticidentification of suspect data: identify suspect text 208 a; identifysuspect images 208 b, identify suspect videos 208 c, identify suspectobjects 208 d, identify suspect audio messages 208 e, and identifysuspect binary patterns 208 f In other embodiments, additionalidentification modules can be invoked for various types of data notshown in FIG. 2B or in the other figures.

Each one of these modules is specialized in identifying a certain typeof data. They all take the data extracted from data sources 106 andcompute relevant features on these data and then compare these featuresto the ones contained in the data features portion 306 of search pack112. In the described embodiment, features are quantitativecharacteristics of files having multimedia content computed or derivedfrom the content of the files instead of the files binary structure.Depending on the type of identification needed, different features areextracted and compared. For example, in character recognition, featuresmay include horizontal and vertical profiles, number of internal holes,stroke detection and many others. In another example, in speechrecognition, features for recognizing phonemes can include noise ratios,length of sounds, relative power, filter matches and others. In thedescribed embodiment, the ability to compare the content of multimediafiles, whether visual or auditory, rely on the ability to extract thesediscriminating and independent features from the files. The extractedfeatures are then compared with previously extracted features.

Returning to FIG. 2B, when one or more key features match, as determinedby each identification module, the data are positively identified assuspect. If there is a positive identification at step 210, the findingsare logged and an alert is transmitted at step 212 and control returnsto step 202 where data are extracted from various sources. If there isno positive identification, control also returns to step 202. Theprocess continues until there are no data left as determined at step204.

In a described embodiment, the data extraction process, and SMLinterpreter execution described above, using the same data sources andsearch packs produce the same results regardless of the computingdevice. This is relevant to Federal Rule of Evidence 901(b)(9) whichprovides a presumption of authenticity to evidence generated by orresulting from a largely automated process or system that is shown toproduce an accurate result. Furthermore, to satisfy the “Best EvidenceRule” and more specifically Evidence Rule 1001 (3), the reports alsocontain the context of any alerts and matches.

Application 102 can rapidly scan unknown input data. For images,application 102 can use a search pack to identify any images in theunknown data that may be illegal or conclusive. For example, if there isan image in the unknown data that matches or is visually similar to aknown child exploitation photo, a known counterfeit currency note, or aknown photo of a suspected terrorist, etc. As long as one of the searchpacks contains these known images, they will be identified in theunknown data. Any images, or, more generally, any data that matches orare similar are referred to as either suspect image/data or friendlyimage/data. The same is true for video and audio files. Unknown videoand audio files can be partially matched against known videos or stillimages and audio files.

The present invention supplements conventional text-based searches andhash matching algorithms with semantic, hash-based technologies toautomate a detection process for identifying known suspect files as wellas identifying disparate relationships between known suspect files andother similar files.

In the described embodiment, an advanced analysis using digital forensicand data identification application 102 performs functions in additionto those in a standard analysis. These include extracting and comparingsemantic information from the data files and disk areas of the inputteddata source. More specifically, an advanced analysis involves: 1) usingaltered semantic hash functionality to automatically identify alteredmultimedia files; and 2) using series semantic hash functionality toautomatically identify multimedia files that belong to a predefinedseries.

When application 102 is distributed on a CD-ROM and used directly on thesuspect computer, it performs the following specific tasks:

-   -   Boot the suspect computer with a specialized operating system        (thereby not relying on the installed operating system which        could have been compromised),    -   Compute checksums of the hard drives before and after the        analysis to verify the non invasive analysis process,    -   Log all input/output errors that might have occurred during data        extraction and acquisition,    -   Copy the identified suspect files and the findings report on a        portable media drive (e.g. USB key).

When application 102 is used from a single computer which has a suspecthard drive, suspect drive media, or drive image connected directly toapplication 102 performs the following specific tasks:

-   -   Access the attached hard drive or hard drive image,    -   Compute checksums of the input media before and after the        analysis to verify the non invasive analysis process,    -   Copy the identified suspect files and the findings report on the        examiner's computer.

When application 102 is deployed on servers which can access drives ithas the following specific features:

-   -   It can be deployed on multiple servers in order to accommodate        the input data increase,    -   It can use resource intensive hash computation,    -   It can accommodate more various input sources.

Among the numerous components of FIG. 1 and FIG. 2A is search pack 112,a software component that resides in platform 104 and application 102.FIG. 3 shows components of a search pack 112. In a described embodiment,search pack 112 contains a header 302, one or more SML script 304, anddata features 306. In the criminal investigation and intelligence agencycontext, a search pack 112 is designed and prepared by an individualinvolved in a case and is created with an investigative goal in mind,for example, a passport investigation, tracking a child exploitationring, gathering leads on a counterfeiting operation, and so on.

A search pack should: 1) be dedicated to a specific subject or case; 2)be as comprehensive as possible on the subject/case; and 3) be updatedcontinuously as new intelligence or information about the case islearned. A search pack is essentially a digital snapshot of a case andcontains all relevant data about a case.

In the context of an intelligence agency, such as the FBI, where usersof the present invention will typically include agents, analysts, andexaminers, search packs are created by agents to simplify and acceleratethe examiner or agent's task in the field, e.g. at a crime scene or someother remote location, by automating the file analysis process.

As FIG. 3 shows, a search pack 112 has three basic sections: datafeatures 306, SML scripts 304, and a header 302. Header 302 containsinformation such as contact information, confidentiality level, agentID, and any other information needed to contact the person in charge ofthe search pack (e.g., the agent responsible for the case, a nationalexpert on a specific subject, etc). Header section 302 of the searchpack contains critical information used to identify the search pack,track modifications, detail access rights when sharing the search pack,and contains contact information. The contact information becomes veryrelevant when suspect data are identified while running another agency'ssearch pack. In this situation the examiner performing the analysis cancommunicate with the other agency's contact to inform him/her of thesituation.

SML script 304 makes it possible to describe complex searches that thesearch pack designer/creator wants performed on any incoming raw data.Search pack 112 can be specialized for a specific purpose. For example,a search pack can have the sole purpose of eliminating from incoming rawdata any data that are “friendly,” thus removing them from furtherinvestigation and saving time for an investigator. As described in moredetail below, this can be done by including standard and semantic hashvalues of these friendly data, often contained in files (e.g., operatingsystem files, application files) in a search pack. Data features 306contains features extracted from known suspect files. These features canbe hash values, as described above, when images or binary files arebeing compared. The features can also be document templates when textdocuments are matched or audio signatures when matching audio files.Another example of a specific purpose is detecting recurring patterns ofillegal activities, such as activities stemming or resulting from astandard counterfeiting toolkit or a standard hacker toolkit. Otherexamples include:

-   -   Detecting a specific context or situation (criminal,        intelligence, etc.) with names, addresses, and pictures of        places and people.    -   Detecting general threats by containing pictures, blueprints and        addresses of public buildings and structures that are potential        terrorist targets.    -   Comprehensive set of images on a precise subject (e.g. child        exploitation).    -   Detecting copyrighted material like movies or audio albums.    -   Detecting file extension anomalies.    -   Perform entropy test to identify encrypted files.    -   Recognize the language of a textual document.

One sub-component of a search pack contains thumbnails of images orvideo 308 if the search pack creator decides to include them. With theseoriginal images an investigator can verify that a match is accurate. Inthe case of video, there can be one thumbnail for the whole video or onefor each relevant frame.

A hash function is applied to all known data which includes text,images, and video. As is known to someone of ordinary skill in thefield, there are numerous existing hash functions and new ones can becreated. Existing ones include binary, altered semantic, and seriessemantic. New or future modules for hash functions may include, forexample, hash functions for facial recognition. A hash value is afingerprint or a digital signature of the content of a file and,therefore is derived from the content of a file. In the describedembodiment, there are three different types of hash values or“signatures”:

-   -   Binary hash value is a unique cryptographic message digest        value, like MD5 or SHA-1. It can be computed on any file type.        It is used to determine if a file has been altered by comparing        its hash value to the hash value of the original file.    -   Altered semantic hash value is a proprietary hash type based on        the semantic content of the file, not on its binary content.        This hash works for textual documents, images, audio, and video        files and makes it possible to detect altered versions of the        same file.    -   Series semantic hash value is a proprietary hash type also based        on the semantic content of the file, not on its binary content.        This hash works for textual documents, images, audio, and video        files and make it possible to detect files that are part of a        series.

In the described embodiment, a search pack can reference other searchpacks. This feature is useful to specialize a search pack without havingto duplicate the entire content of the original search packs, andparticularly their data sections. For example, a “counterfeit” searchpack could be created based on the content of the “currency” and the“passport” search packs.

-   -   When creating a search pack, an investigator:    -   Decides which known data and files are relevant to the        investigative goal and should be in the search pack.    -   Decides which hash value type or types should be created for        each file (binary and or semantic), and if a multimedia file,        whether a thumbnail or other visual should be included in the        search pack.    -   Decides what the search conditions for the investigative goal        should be and create the SML script.    -   Enter meta-data information e.g. contact information, security        level, etc.

All content of a search pack can be modified to reflect changes in aninvestigation. Investigators, such as Examiners, Case Agents, and FieldAgents, can download updates to search pack 112 directly from platform104 as shown in FIG. 1. However, hash values cannot be edited directly;the underlying data or file must be modified. When a modificationoccurs, the version number of a search pack is updated. This is usefulduring synchronizations between the platform 104 and application 102. Toavoid redundancy during search pack synchronization, downloads, andupdating via CD, when a search pack is obsolete or no longer useful oris simply replaced or incorporated in another one, it can be removedfrom platform 104.

Search packs can be distributed by agencies to Internet serviceproviders, portals and search engines, among other entities. Theseentities can utilize search packs to scan email exchanges and detect anyknown illegal data in these emails that match hash data sets in thesearch packs. In addition to emails, search packs can also be applied toimages posted on dating sites, social networking sites, and communitysites as these images may be relevant to crimes such as childexploitation, theft ID, and counter-intelligence.

Search pack 112 is an encapsulation of all the elements necessary forautomatic digital forensic analysis and data mining in platform 104 andapplication 102 of the present invention. The principal strength of asearch pack is that it does not contain directly readable or modifiablesensitive information but rather contains a safe representation (in theform of hash values) of sensitive information. This makes it possible toshare search packs among agencies without risking a leak of criticalinformation.

As described above, search conditions are programmed in SML, anXML-based language and contained in SML programs or scripts 304. In thedescribed embodiment, an SML interpreter 110 executes the SML scriptscontained in a search pack. More specifically, the SML interpreter 110executes a series of SML instructions. SML allows an investigator toprecisely describe conditions for identifying data that are useful orrelevant to an investigation. Several examples of specialized searchpacks have been described above.

The “specialization” is often embodied in the SML script of a searchpack. SML allows an investigator to describe very specific orspecialized conditions and allows for a broad range of analysis. Forexample, an SML program can be written to only identify images that havea resolution of over 100 dpi. Other conditions on image properties (e.g.EXIF data or image file types) can also be applied to further refine acondition, such as image properties, hash sets, occurrences of words andphrases, and so on. Specific SML phrases can be grouped together bylogical operators (AND, OR) making it possible to build complexconditions. It should also be noted that a condition may not involve ahash. To illustrate, take the following search criteria:

“If the submitted file is an image that has a resolution over 300 dpi,where the AUTHOR EXIF field contains information and matches with atleast one video of this search pack then trigger an alert”

The SML for this search may be: <condition id=”condl”>  <file-proptype=”image”/>  <img-prop res=”300” op=”gt”/>  <img-mdata field=”author”value=”*”/>  <ash-match group-id=”videos”/> </condition>

In the described embodiment of the present invention, SML interpreter110 is able to interact with other modules for completing specifictasks. Examples include: an optical character recognition (OCR) modulewhich accepts video files and returns words or phrases extracted fromthe video; hash indexers (e.g., binary hash indexer, semantic hashindexer) which accepts files and returns hash values; and hashcomparators which compares hash values. Search packs together with othertechnologies of the present invention are expandable to integrateexternal third-party technologies and software, such as OCRtechnologies.

As shown in FIG. 1 a digital forensics and data identification platform104 operates with one or more digital forensics and data identificationapplications 102. Platform 104 can be seen as a server application andapplication 102 is a client application. These two aspects of thepresent invention have a complimentary relationship, and both utilizesearch pack and SML, although in somewhat different capacities. In thecontext of a criminal investigation and intelligence gatheringorganization, such as the FBI or Secret Service, platform 104 isintended to be used by investigators and, in addition, is accessible andsupervised by information technology (IT) staff. With respect to theinvestigators, those who work in a setting such as a regional or homeoffice and use computers that are connected to a network would usedigital platform 104 while those on the field or in remote locationsinvestigating a case or gathering intelligence would use digitalapplication 102 in a portable CD-ROM format or on portable computers.For analysis of large volumes of data, the network server applicationcan be used.

FIG. 4 is a block diagram showing a data identification platform 104.Platform 104 is intended to be used by investigators responsible forstoring, categorizing, and disseminating search packs 112. Platform 104hosts search packs and can import and export search packs from otherplatforms or applications using search pack exchange server 402. It alsomanages and catalogs search packs. A search pack editor 404 coordinatesthe creation and editing of search packs. Platform 104 also manages theuse of them among investigators thereby facilitating the exchange ofinformation between agencies, as well as centralizing reports andfindings, and consolidating investigation logs. Investigation logs fromapplication 102 can be uploaded to platform 104 to allow theinvestigators to review the consolidated logs.

As the number of search packs grows platform 104 offers morefunctionalities to search through them based on their content. It isalso possible to update multiple search packs in a single operation.Another management feature is the ability to compare two search packs todetermine how similar they are to avoid duplication and facilitatemanagement. Comparing two search packs is possible even if they havebeen created by a different platform as the comparison is done on theirdata, without the need to access the original files. Similar searchpacks may also imply that different agencies may be working on the samecases.

In a described embodiment, a single entity, such as a government agencyor a sub-division of an agency typically will have installed a singledigital forensics and data identification platform 104 as shown in FIGS.1 and 4 for use only within that agency, group, sub-division, etc. Inthe described embodiment, there is cross-platform sharing among agenciesor entities, each running its own copy or version of platform 104. Thisallows an agency or enterprise to decide which of its data it wants toshare with other entities, thus allowing data sharing withoutcompromising intra-agency confidentiality requirements. In anotherembodiment an agency or other entity can use multiple digital forensicplatforms 104 in its IT environment. In another embodiment, regional orother agencies do not have to install platform 104 in order to execute asearch pack 112 on an application 102.

One of the primary functions of platform 104 is allowing the creationand editing of search packs using search pack editor 404. For example,in the FBI, an Analyst or Examiner would normally create, update, ordelete a search pack based on the initiation or progress of aninvestigation. This can be done on the platform and then disseminated toField or Case Agents who are using search packs on digital forensic anddata identification application 104.

With respect to data sharing, platform 104 supports the exchange ofsearch packs among entities, for example, via CD or search packdownloads. Given that search packs contain not only known data in theform of text, video, images, etc., but also strategic search conditionsencoded in SML (recall that search packs are created with aninvestigative goal in mind), entities can share this strategicinformation and perspective about cases as well.

Search pack distribution is controlled by allowing application 102 todownload and decrypt only those search packs belonging to platform 104associated with the application. A platform 1 can import a search packfrom platform 2, at which point the search pack also belongs to platform1 for the purposes of search pack distribution control (it still belongsto platform 2). This distribution control mechanism is enforced in twosteps: 1) when the application connects to the platform, the applicationhas to provide the correct credential to the platform before being ableto download a search pack from the platform (this prevents anapplication from Agency A to connect to a platform from Agency B); and2) once a search pack is downloaded, the application must share the samecryptographic key with the platform in order to decrypt the search pack.

When application 102 is transferring user activity logs, which maycontain sensitive, analyzed data to platform 104, a network connection,such as a VPN, is established to ensure privacy. Search packs areencrypted when stored on the platform and decrypted only when they needto be modified.

The application 102 and the platform 104 authenticate users and logtheir activities. In the described embodiment, platform 104 has aninternal mechanism that authenticates users manipulating search packs(for creation, update, import, export). In the described embodiment, auser is not authenticated with the application. In one embodiment wherethe Microsoft Windows operating system is used, the application uses aWindows login program to log the user's activity and to establishconnections with the platform.

The platform has a user interface for creating, editing andimporting/exporting search packs. The platform has a Web based userinterface that allows users to utilize a platform's functionality. Aninvestigator can create a search pack, edit SML, generate hash values,enter meta-data such as general information, contact information,thumbnails, etc. via an application interface and a platform interface.For example, when generating hash values, the investigator can selectand places files via the interface for which hash values are needed(text, image or video files) in a folder and select which type of hashfunctions should be performed on which files.

In the described embodiment, all users' activities are logged byapplication 102 or by platform 104. These activities include: logininformation; data acquisition; automatic searches performed andimportant results found; report activity; manipulation of files; and anyerror encountered by the application.

Pervasive throughout the platform and application is the manipulation ofsensitive data. Data are secured at each stage of data creation,modification, transfer/exchange, and storage. The platform alsoauthenticates users and logs activity. When a search pack isdisseminated to investigators within an agency or to other agencies, asearch pack satisfies the following security requirements: 1)confidentiality: ensuring that search pack content cannot be accessed byunauthorized people, this is achieved by encrypting the content; 2)integrity: ensuring that the content has not been modified withoutmaking an activity log entry which is achieved by integrating achecksum; and 3) authenticity: ensuring that the creator of a searchpack can be authenticated, this is achieved by integrating digitalsignatures.

Platform 104 and application 102 create numerous files, each containingcritical information that needs to be protected against externalmodifications. In the described embodiment, the files contain encryptedchecksums thereby ensuring their integrity. Investigators and other endusers also create several categories of files containing sensitive data(log files, case files, hard-drive images, etc.) that are protectedagainst external modifications. In one embodiment, this is done by usingencrypted checksums in the files. Any modifications of those filesoccurring within the application are logged thereby guaranteeing thefiles' integrity.

Although the above description may contain specific details, they shouldnot be construed as limiting the claims in any way. Other configurationsof the described embodiments of the invention are part of the scope ofthis invention. Accordingly, the appended claims and their legalequivalents should only define the invention, rather than any specificexamples given.

1. A digital forensic search software component embodied in acomputer-readable storage medium, the software component comprising: aheader; a search markup language program; a data features sectioncontaining features of data, wherein the software component enables afirst entity to share the suspect data with a second entity in a mannerthat enables utilization of the suspect data by the second entity whilenot revealing the actual content of the sensitive data to the secondentity; and whereby the first entity is able to define an investigativestrategy for a particular case.
 2. A computer software component asrecited in claim 1 further comprising a data verification sectioncontaining a plurality of actual data representations wherebyidentification of potential suspect data can be verified.
 3. A computersoftware component as recited in claim 1 wherein the features of datacannot be directly modified by the second entity.
 4. A computer softwarecomponent as recited in claim wherein the search markup language sectionand the data features section enable the first entity to share theinvestigative strategy for the particular case with the second entity.